package cn.com.dycc.party_org.team.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import cn.com.dycc.party_org.team.entity.TeamResultEntity;
import cn.com.dycc.party_org.team.param.AddTeamParam;
import cn.com.dycc.party_org.team.param.FindPartyGroupParam;
/**
 * 党组班子持久层
 * @author linfa
 *
 */
@Repository("teamDao")
public interface TeamDao {
	
	/**
	 * 增加党组班子
	 * @param addTeamParam
	 * @return
	 */
	public int addDeptPartyGroup(AddTeamParam addTeamParam);
	
	/**
	 * 根据用户id和党组织id查询用户是否已经存在该党班子内
	 * @param dept_id
	 * @param user_id
	 * @return
	 */
	public int countTeam(
			@Param("dept_id") String dept_id,
			@Param("user_id") String user_id,
			@Param("org_id") String org_id
			);
	
	/**
	 * 查询党组班子信息列表
	 * @param findPartyGroupParam
	 * @return
	 */
	public List<TeamResultEntity> findPartyGroupList(FindPartyGroupParam findPartyGroupParam);
	
	/**
	 * 统计党组织班子人员列表 
	 * @param findPartyGroupParam
	 * @return
	 */
	public String findPartyGroupListCount(FindPartyGroupParam findPartyGroupParam);
	
	/**
	 * 删除党员班子人员
	 * @param dept_id
	 * @param user_id
	 * @return
	 */
	public int delPartyGroup(
			@Param("dept_id") String dept_id,
			@Param("user_id") String user_id,
			@Param("org_id") String org_id);
	
	//根据user_id 查询党组班子成员      liket
	AddTeamParam findTeamByUserId(String user_id);
}
